
/**
 * Enum que representa o tipo de bloco para cada rea delimitada do jogo.
 */
public enum Ilk {
    /** Bloco de gua. */
    WATER,
    
    /** Bloco de comida. */
    FOOD,
    
    /** Bloco ilha. */
    LAND,
    
    /** Bloco com formiga morta. */
    DEAD,
    
    /** Bloco com formigas minhas. */
    MY_ANT,
    
    /** Bloco com formigas adversrias. */
    ENEMY_ANT,
    
    /**Indica que alguma formiga ir se movimentar para este bloco*/
    IMPAIRED;
    
    /**
     * Checks if this type of tile is passable, which means it is not a water tile.
     * 
     * @return <code>true</code> if this is not a water tile, <code>false</code> otherwise
     */
    public boolean isPassable() {
        return ordinal() == FOOD.ordinal() || ordinal()== LAND.ordinal() || ordinal() == DEAD.ordinal() ;
    }
    
    /**
     * Checks if this type of tile is unoccupied, which means it is a land tile or a dead ant tile.
     * 
     * @return <code>true</code> if this is a land tile or a dead ant tile, <code>false</code>
     *         otherwise
     */
    public boolean isUnoccupied() {
        return this == LAND || this == DEAD;
    }
}
